namespace NSBuilder {
    // packing
    export class Wrapper implements IPacking {
        pack() { return 'Wrapper'; }
    }
    export class Bottle implements IPacking {
        pack() { return 'Bottle'; }
    }
    // items
    export class Burger extends Wrapper implements Iitem {
        packing() { return this.pack(); }
        name() {}
        price() {}
    }
    export class Drink extends Bottle implements Iitem {
        packing() { return this.pack(); }
        name() {}
        price() {}
    }
    export class VegeBurger extends Burger {
        name() { return 'VegeBurge'; }
        price() { return 1.2; }
    }
    export class MeatBurger extends Burger {
        name() { return 'MeatBurger'; }
        price() { return 2.2; }
    }
    export class CocaCola extends Drink {
        name() { return 'CocaCola'; }
        price() { return 2.5; }
    }
    export class PepsiCola extends Drink {
        name() { return 'PepsiCola'; }
        price() { return 3.5; }
    }
}
